home *** CD-ROM | disk | FTP | other *** search
- Documentation for Waffle to WWIV Copy (WWCP)
- Copyright 1993 by Gridpoint++
-
-
- LIMITED WARRANTY
-
-
- THIS SOFTWARE IS PROVIDED "AS-IS", WITHOUT WARRANTY OF ANY KIND.
- THERE ARE NO EXPRESS OR IMPLIED WARRANTIES. THERE ARE NO WARRANTIES OF
- OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
-
-
- THE COPYRIGHT HOLDER SHALL NOT IN ANY CASE BE LIABLE FOR SPECIAL,
- INCIDENTAL, CONSEQUENTIAL, INDIRECT OR OTHER SIMILAR DAMAGES ARISING FROM
- THE USE OF, OR THE INABILITY TO USE, THE SOFTWARE, EVEN IF THE COPYRIGHT
- HOLDER OR HIS AGENT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-
- OBLIGATORY BEGGING MESSAGE
-
-
- WWCP is a shareware program. If you wish to continue using it
- after a trial period of two weeks (beginning from the time you make your
- first connect to the WWIVnet), you are required to register your copy.
-
-
- Consider this: WWCP took many hours to write and debug. I could've
- spent less time writing a kludge, but I don't work that way. I feel the
- extra time spent on making WWCP transparent to the users and easy for the
- system operator to install and maintain was well worth it. I've made an
- investment of around $1800 worth of my time. If I don't get my investment
- back (or at least a significant portion of it), I cannot continue to support
- the software, but must instead devote my time to more financially rewarding
- (and boring) projects (save me from writing COBOL! Please, please,
- pleeeeeeeeeeease! :-) To get full value for my time I need at least 72
- registered sites. Registration also gives you many other important benefits.
- See WWREG.DOC for information. Also see PRODUCTS.DOC for information on
- my other shareware programs.
-
-
-
- WHAT IS WWCP?
-
-
- The WWCP package allows you to exchange email between the
- WWIVnet and your Waffle BBS. WWIV netsubs can also be carrried as
- newsgroups on your Waffle system and vice-versa. The interface is totally
- invisible to the user. No kludges (such as manually adding special address
- lines to email or posts) are necessary. All routing is fully automatic.
-
-
- WHY WWCP?
-
-
- There are many interesting netsubs (newsgroups, in Usenetspeak) on
- WWIVnet, and WWIV is a very popular system. There are more than a thousand
- sites on WWIVnet, and hundreds of thousands of users. Clearly, there is a
- niche for gateway software.
-
-
- WHAT YOU NEED TO RUN WWCP
-
-
- There are a few extras you need to set up WWCP that aren't
- included in the distribution package. You need:
-
- 1. An external file transfer protocol program. This
- program should handle Xmodem, Ymodem, or Zmodem, with
- Zmodem much preferred. The only real requirement is that
- the program exit with status zero for a successful transfer
- and non-zero for an unsuccessful one. Just about every
- protocol program in common use fits this description.
- If yours doesn't you can probably kludge it up with a
- batch file and judicious use of the IF ERRORLEVEL
- construct.
-
- You can also use the new HS/LINK bidirectional transfer
- protocol. If your modem runs at the same speed in both
- directions (full duplex), HS/LINK is a win. If you have
- a modem that transfers more slowly in one direction than
- the other (e.g., USR modems using USR's proprietary HST
- protocol), HS/LINK won't gain you much. Most commonn
- modems (other than the USR) will benefit from HS/LINK
- and the USR Dual Standard modems will benefit as well,
- if they're run in V.32 mode.
-
- 2. A FOSSIL driver (OPUS!COMM and X00 were used for testing.
- and Waffle comes with BNU.)
-
- 3. The Waffle BBS software (obviously).
-
-
- You also need the following hardware:
-
- 1. An IBM compatible PC capable of running Waffle (again,
- obviously).
-
- 2. A reasonable modem. "Reasonable" means that the modem
- understands Hayes commands, such as ATZ to reinitialize,
- ATD to dial, <pause>+++<pause>ATH to hang up, etc.
- The modem should also hang up when DTR is dropped.
- If your modem doesn't fit these criteria, see the Waffle
- documentation for suggestions (throwing it off a tall
- building and buying another one is the preferred technique).
-
-
- CREDITS
-
- Many thanks to my fearless team of beta testers:
-
- Fred Polsky (WWIVnet: 1@502, Internet: system@freds.cojones.com)
- Roy M. Silvernail (WWIVnet: 1@503, Internet: roy@cybrspc.mn.org)
- Bryan Lockwood (WWIVnet: 1@501, Internet: system@coldbox.cojones.com)
-
- All three made many valuable suggestions and uncovered many potential
- problems. This madness would never have happened without them.
-
-
- Thanks are also due to:
-
- Dan LeVaugh (WWIVnet: 1@9702, Internet: 1-9702@wwiv.cojones.com)
-
- for helping me through the process of getting WWCP recognized by WWIVnet
- and for volunteering to be the WWCP nodes coordinator.
-
- Wayne Bell (WWIVnet: 1@1, Internet: 1-1@wwiv.cojones.com)
-
- for writing WWIV and allowing WWCP sites to connect to the net.
-
- Thomas E. Dell (WWIVnet: dell#vox.darkside.com@501, Internet:
- dell@vox.darkside.com)
-
- for writing Waffle in such a fashion that gateway software could
- easily be integrated. Well done, Mr. Dell.
-
-
-
-
- SETTING UP A WWIVNET CONNECT
-
-
- 1. First of all, you *need* a WWIVnet connect. Find a WWIV sysop in your
- area who's willing to let you have a feed. If you can't find one
- locally, check the net listings (available by typing //NET on any
- WWIVnet board) for someone fairly close. Contact that person and ask
- for a feed. If he's unwilling/unable to do it, try someone else.
- WWCP also works fine with other WWIV-style networks, such as
- WWIVlink, ICEnet, or any of the other dozens (or is it hundreds?)
- of WWIV networks that have sprung up since Wayne Bell added
- multi-net capability to WWIV. You can even belong to more than
- one net at the same time. See MULTINET.DOC for more information.
- In the following document, WWIVnet is assumed, but the procedure
- is exactly the same for any other WWIV-style network you may
- wish to join. If you want to join more than one net, the procedure
- is somewhat different. Again, see MULTINET.DOC.
-
- 2. Now you need a node number on the WWIVnet. Call any WWIVnet board
- and send email to 1@9702. He is the WWCP coordinator, and will assign
- you a node number. Be patient. Never forget that WWIVnet is largely
- run by volunteers (just like Usenet). Common courtesy is *always*
- in order. Tell 1@9702 the node number of the WWIVnet board you will
- be connecting to. You should read the accompanying file RULES.DOC for an
- overview of WWIVnet policies and regulations.
-
- 3. Tell your connect to set up his networking files to *not* use WWIVnet
- compression when connecting with you (WWIVnet uses a proprietary
- compression library licensed from PKware, unfortunately), unless
- you have another program that can decompress WWIV packets. This
- version of WWCP has hooks to allow use of Gregg Beasey's DECOMP
- program. If you choose to use compression, you'll have to add
- the proper line to decompress the packets to the WWSHELL.BAT and
- WWPOLL.BAT files. Unfortunately, Gregg's program doesn't allow
- compression, only decompression.
-
- Also, specify a password that your system will use when calling the
- connect. This can be 1-15 characters. WWCP does not support the
- automated password exchange feature of WWIV at the present time, hence
- you must arrange your password in advance.
-
-
- INSTALLING WWCP
-
- Fear not. If you've managed to survive installing Waffle, installing
- WWCP will be a snap. :-) If you have problems, refer to the TROUBLE.DOC
- included in the WWCP distribution package.
-
- 1. Install the FOSSIL driver. Read the documentation for your particular
- driver to see how to set it up.
-
- 2. Put all the .EXE and .BAT files (wwcico.exe, wwrmail.exe, wwsmail.exe,
- wwshell.bat and wwpoll.bat) in your waffle/bin directory.
-
- 3. Put the WWSTAT and WWSEQ files in your waffle/system directory. These are
- analogous to the Waffle STATIC and SEQF files, respectively.
-
- 4. Edit the WWSTAT file to conform to your system. The lines must be in
- the following order:
-
- <name of your system>
- The same as the "node" line in your system/static file.
-
- <uucp name of WWIV system>
- New in 1.3. This allows you to specify a uucp name for the
- WWIV system. It was necessary to make the multinet capability work
- properly.
-
- <used for From: line on news. %s is replaced with WWIVnet address.>
- <used for From: line on mail. %s is replaced with WWIVnet address>
- <origin, used in Message-ID: header>
-
- These lines let you specify the From: line format for gated messages,
- in a fashion analogous to the netnews and netmail parameters in the
- Waffle static file. You can set a separate From: line for news and
- mail, if you wish, or use the same for both. By default, both lines
- are set to %s@wwiv in WWSTAT. This can be changed to anything you
- want...... the person's WWIVnet address is substituted for the %s.
- If you need an actual % in the address, use %%. Thus, the default
- settings produce From: lines similar to:
-
- From: 23-9702@wwiv
-
- If you want to generate From: lines of the form:
-
- From: foobox!wwiv!23-9702@moskvax.cis.gov
-
- You'd use:
-
- foobox!wwiv!%s@moskvax.cis.gov
-
- in the WWSTAT file.
-
- If you have an actual domain site set up for wwiv, and want all
- WWIVnet posts to appear to come from wwiv.yoyodyne.com, you'd use:
-
- %s@wwiv.yoyodyne.com
-
- in the WWSTAT file. If you're doing it this way, you'll also have to
- add the line:
-
- wwiv.yoyodyne.com * /spool/wwiv/mail
-
- to your waffle/system/paths file (waffle/uucp/paths for Waffle
- 1.65).
-
- There's also an origin line in the WWSTAT file. This is used to
- generate the Message-ID: header. These headers are in the form
- (number)wwcp(node)@(origin), where (number) is an unsigned long,
- (node) is your WWIVnet node number and origin is as set in your
- WWSTAT file. This should be the domain name for your site
- (foobox.hardknox.edu, bittybox.yoyodyne.com, etc.). If you don't
- have one, use the domain .UUCP (foobox.UUCP, bittybox.UUCP, etc.).
-
- If you're going to be sending WWIVnet posts and email to the Usenet
- directly from your system, you need to set all of these. If your
- system doesn't get a Usenet newsfeed *through Usenet*, leave them
- alone.
-
- <your WWIVnet node number>
-
- <your connect's WWIVnet node number>
-
- <initialize FOSSIL>
- Use 1 if you want the FOSSIL initialized before calling. Normally
- this will be 1, but may need to be set to 0 for certain setups.
-
- <port number>
- This is the *FOSSIL* port number, which is normally 0 for COM1:, 1
- for COM2:, etc.
-
- <phone number>
- This is the phone number for your connect. This should be the
- *complete* dialing sequence for your modem, including any AT
- commands. You can also put other commands in this line,
- such as ATM0 to turn the speaker off, etc.
-
- <password>
- This is the password you've arranged with your connect.
-
- <speed>
- This is the speed to set the serial port to. If you use 0, the
- port speed will be left as is. Supported speeds are 300, 600,
- 1200, 2400, 4800, 9600, 19200, and 38400 bps.
-
- <use HS/LINK>
- If you're using the HS/LINK protocol, set this to 1. Otherwise,
- leave it alone. HSLINK.EXE must be in your PATH, and you must
- set your DSZLOG environment variable if you're going to use
- HS/LINK. See the HS/LINK documentation for more information.
-
- <send protocol>
- This is the command line to send data *to* your connect. The
- file you need to send has a name of S<theirnumber>.NET. For
- example, if you're connecting with 9702, you need to send the
- file S9702.net.
-
- <receive protocol>
- The command line to receive data *from* your connect. The file
- to receive has the name S<yournumber>.NET. If you are node 599,
- you need to receive S599.NET. If you're using HS/LINK, anything
- you put in this line is ignored, but make sure there *is*
- a line.
-
- <use compression>
- Set this line to 1 to use WWIVnet compression, when that feature
- becomes available (soon!). Until then, leave it 0.
-
- <spool dir>
- Your spool\wwiv\ directory (see below). The drive letter *must*
- be included, and the directory name should end with a \ character.
-
- <credit>
- This line is used to specify the default credit amount in
- kilobytes. Users can be restricted from sending/receiving excessive
- amounts of mail by this means. If you wish to give every user
- unlimited credit, you can use -1 as the credit amount. Otherwise,
- put a reasonable number here (where "reasonable" is at your
- sole discretion). This is also new for 1.3. See CREDIT.DOC
- for more details.
-
-
- Any line beginning with a # character is treated as a comment,
- and processing resumes with the next line.
-
- 5. Make a subdirectory called wwiv in your spool directory. This is used to
- handle outgoing news for WWIVnet.
-
- 6. Make a subdirectory called mail in the wwiv spool directory. This is used
- to store outgoing mail for WWIVnet.
-
- 7. Make a subdirectory called packets, also in the wwiv spool directory. This
- is used to create and process net packets (analogous to batched news)
- for WWIVnet.
-
- 8. Add the line
-
- wwiv /batch=wwiv wwiv.*
-
- to your waffle/system/feeds file.
-
- 9. Add the line:
-
- wwiv * /spool/wwiv/mail
-
- to your waffle/system/paths file (waffle/uucp/paths for 1.65). If you've
- set up a domain address for wwiv in your WWSTAT file, use that here too.
- For instance, if you've set up wwiv as wwiv.yoyodyne.com, put in:
-
- wwiv.yoyodyne.com * /spool/wwiv/mail
-
- If you haven't configured the From: lines in your WWSTAT file, or if
- you've used a bang path address there (foobox!wwiv!%s@some.site.com)
- then just use the:
-
- wwiv * /spool/wwiv/mail
-
- line.
-
- 10. If you're going to be carrying WWIVnet netsubs (newsgroups) then load up
- your system/static file. Add wwiv to the forums line. For instance,
- if your forums line now reads:
-
- forums : local usenet
-
- Then you'd change it to:
-
- forums : local usenet wwiv
-
- See "Subscribing to WWIV Netsubs", below, for more information.
-
-
- 11. Set up your waffle/system/schedule file to run wwpoll periodically.
- How often you want to do this is entirely up to you, and will depend
- on the traffic volume, hours to get cheap phone rates, etc. You
- can also run wwpoll manually if you wish. If you're using DOS 3.2
- or below, you'll need to add the line:
-
- RUN
-
- to the end of wwpoll.bat.
-
- 12. (optional) If your WWIVnet connect is going to be calling you, you need
- to arrange an account for that system. Add the line:
-
- IF ERRORLEVEL == 70 GOTO WW
-
- to your waffle/bin/run.bat file (in the section with the other similar
- statements. Remember to keep the IF ERROLEVEL statements in reverse
- numeric order), and at the bottom of run.bat (right before :END) add
- the lines:
-
- :WW
- CALL WWSHELL
- GOTO TOP
-
- If you're running DOS 3.2 or earlier, you'll have to use:
- :WW
- WWSHELL
-
- and put the line:
-
- RUN
-
- at the end of the WWSHELL.BAT file. Now, go into admin and add a new
- account for the WWIV board. Set it up just like a uucp connect
- (access -2, etc.) but on the admin x screen set the shell to #exit 70
- instead of the normal #exit 40 that you'd use for uucp. You can use other
- numbers besides 70 for the IF ERRORLEVEL and #exit, of course. 70 is just
- an example. Any number will work as long as it is the same in both places,
- and as long as it isn't already used for something else. Your WWIVnet
- connect will need to use a macro to dial in to your Waffle board and log
- on. The details of this macro will vary, depending on how you have your
- Waffle opening screens set up. If your Waffle login prompts are stock,
- the following macro should work:
-
- DEBUG ""
- TIMEOUT "30"
- BAUD "<baud rate to call at>"
- DIAL "<phone number of waffle board>"
- FAILURE "BUSY"
- WAITFOR "EW:"
- SEND "<wwiv board's login name>{"
- WAITFOR "word:"
- SEND "<wwiv board's password>{"
-
-
- Just replace the information in angle brackets with the appropriate
- information for your setup. The quote characters are required, as are
- the { characters after the login name and password. (The { causes
- the WWIV system to send a carriage return). If the WWIV sysop is
- running a high-speed modem and you are not, the following macro
- may work better:
-
- DEBUG ""
- TIMEOUT "30"
- BAUD "<baud rate to call at>"
- DIAL "<phone number of Waffle board>"
- FAILURE "BUSY"
- SEND "<wwiv board's login name>{"
- WAITFOR "word:"
- SEND "<wwiv board's password>{"
-
-
- Thanks to Delerium Tremens 1@9704 for this tip. Apparently certain
- protocol negotiations can cause the modem to lose the first few
- characters. If you have trouble, ask the WWIV sysop to check
- WWIVNET.DOC for more information on macros. If you still can't
- figure it out, email me at 1@502 or system@freds.cojones.com
- from Internet and I will help. I will need the phone number of your
- Waffle BBS and the baud rate the WWIV board will use to call. I will
- also an exact representation of your login: and Password: prompts. If
- you are having the WWIV board dial in, you must run wwsmail to batch up
- the messages before sending them. Running it at the start of wwshell
- works, but wastes precious telephone time, and can cause the WWIV system
- to time out if there is a lot of data to batch. I suggest putting wwsmail
- at the top of your run.bat file so it runs before every call. wwsmail is
- fairly speedy when there isn't a whole lot of data to process and
- shouldn't slow down the board reset to any noticeable degree.
-
-
- You're set! Your first order of business should be to log in as root or
- system and send email to the sysop of your WWIV connect. That will get you
- registered in the WWCP nameserver database as account #1 on your node. This
- is VERY IMPORTANT, because some WWIVnet informational messages get sent to
- the #1 account rather than to individual names. Also, subscribing to netsubs
- generally requires sending mail from the #1 account.
-
-
-
- SENDING MAIL TO THE WWIVNET FROM A DIRECTLY CONNECTED WAFFLE
-
-
- WWIVnet addresses are of the form <usernumber>@<nodenumber>. To
- send mail to someone on WWIVnet, simply send it to
- <usernumber>-<nodenumber>@wwiv. For instance, to send mail to my WWIVnet
- account on Someplace Else BBS, 49@9702, you'd send mail to 49-9702@wwiv.
- That's all there is to it. All sysops on WWIVnet have an account number of
- 1. To send email to the sysop of node 9704, you'd send to 1-9704@wwiv. Of
- course, your site must have a direct connection to WWIVnet for this to work,
- or know the path to one which does (see below).
-
- You can also send mail to people on WWIVnet by name. However, since
- WWIVnet usernames can be several words you must replace any spaces in the
- user name with an underscore character (Waffle won't allow sending mail
- to multiword usernames). Thus, to send mail to Dark Mistress of Pain on
- node 9999, you'd send to:
-
- dark_mistress_of_pain-9999@wwiv
-
- Case is not important, as WWIVnet mashes everything to upper case anyway.
-
-
-
- SENDING MAIL TO THE WWIVNET FROM NEIGHBORING WAFFLE SITES
-
-
- To support automated routing of mail to the WWIVnet, your
- downstream neighbors must have an entry in their system/paths file
- (uucp/paths for Waffle 1.65). For instance, if your machine is called
- foobox, your immediate neighbor (kremvax, say) should put the line:
-
- wwiv foobox!wwiv!%s
-
- in his paths file. If kremvax feeds another site, moskvax, then
- moskvax would use the line:
-
- wwiv kremvax!foobox!%s
-
- in his paths file, and so on. The neighbor does *not* need a copy
- of WWCP for this to work. If your neighbor *is* running WWCP, though,
- he won't need to do this, since his system will already know a path to
- wwiv.
-
- If you've configured your From: lines to generate a valid
- address in WWSTAT, any site on the Internet should be able to send mail to
- WWIVnet, without any special path entries. However, your near neighbors
- may still wish to use an entry in paths to expedite mail.
-
-
- SENDING MAIL TO WAFFLE/USENET FROM WWIV
-
- There are two ways to do this.
-
- 1. If the Waffle address is user@site, a WWIV user can send email to
- <user>#<site>@<nodenum> where nodenum is the node number of your Waffle
- system. Just substitute a # for the @ in the Internet address. If your
- Waffle system has been assigned node number 19762, and your Waffle system
- was named foobar, a WWIV person could contact root on your system by sending
- mail to root#foobar@19762 from the main prompt on the WWIV board. This
- technique will work whether or not someone on the Waffle side has ever
- sent anything to the WWIVnet. WWIV users are not limited to sending
- mail to the directly connected Waffle site. They can send mail to any
- site that your Waffle knows how to reach. If your Waffle is connected to
- the real Internet, a WWIV user could send mail to joeblow@gnu.ai.mit.edu
- by sending to joeblow#gnu.ai.mit.edu@19762. Sending mail to
- boris%foobox@kremvax.cis.gov would be done by sending to
- boris%foobox#kremvax.cis.gov@19762.
-
- Special note for sending to Internet addresses beginning with a number:
-
- Sending to an Internet address beginning with a number (in particular,
- Compuserve addresses such as 72633.551@compuserve.com) from WWIVnet will
- not work properly, because WWIV assumes the first part of the address is
- a usernumber. Thus, to send to an Internet address beginning with a number
- from WWIVnet, you must enclose the address in quotation marks (e.g.,
- "72633.551@compuserve.com"). WWRMAIL version 1.3 supports this.
-
- 2. WWIVnet also uses an alternate address form. The one specified above
- is <username>@<node number>. The alternate form is
- <user number>@<node number>. This presents problems, since people on the
- Waffle side don't *have* WWIV user numbers. The problem can't be ignored
- because WWIV automatically uses the <number>@<node> form for all
- replies (whether replying to a post or to email). For this reason, every
- time someone on the Waffle side posts a message or sends email to the
- WWIV side, a database is scanned for his or her name. If it isn't found,
- the Waffle address is added to the database and a unique WWIV user number
- is assigned for that person. Humans don't need to know what this is because
- it's only used by the WWCP routing software. This database may prove useful
- for other purposes. See the technical information section at the end of this
- document.
-
-
-
- SUBSCRIBING TO WWIVNET NETSUBS
-
-
- WWIV netsubs are very much like Usenet newsgroups. However, to
- receive a netsub you must be added to the subscriber list by the host of
- the netsub. In that respect, it's more like a Usenet mailing list. WWIV
- netsubs can be hosted by any system on the WWIVnet, including WWCP
- sites. The whole system is rather anarchic (somewhat reminiscent of
- the Usenet alt.* hierarchy) as far as the creation of new netsubs goes.
- There's nothing to prevent a WWIV system from starting a netsub on a
- particular topic, even if one (or even several) already exists.
- However, posting rules for a netsub are controlled by the sub host.
- That means that the rules range from absolute anarchy (no rules) to
- complete totalitarianism. The rationale behind this is that if you're
- not satisfied with the way the host runs the sub, you're free to start
- your own on the same topic. If enough other people feel the way you
- do, your sub will succeed and the original one will die.
-
-
- To subscribe, you need to find out who hosts the sub. If there's a
- sub carried by your connect (or some other WWIV BBS you call) that you'd
- like to subscribe to, ask who the sub host is, send that person
- email and ask him to put you on the list. He will need to know your
- WWIVnet node number. If you are feeding netsubs to other Waffle/Usenet
- sites, you should tell the sub host that (some hosts don't want their
- subs gatewayed to other networks). There is also a listing of all available
- netsubs sent out periodically. This list should appear in the mailbox for
- your postmaster account from time to time. It's sent in several parts.
- You can also download a copy from most WWIVnet boards, to use until your
- own copy starts coming in.
-
-
- Bear in mind that unless the netsub is being hosted by a local BBS,
- *someone* is going to have to pay for a long distance call. If your WWIV
- feed is doing it, you should offer to help with the phone bill. If it's
- someone else, you should find out who's doing the LD calling and offer
- to help that person.
-
-
- Now, you need to set up a couple of things on your system to
- receive the sub. In your waffle/system directory, create a file called WWIV.
- This works just like the LOCAL and USENET files (remember, you have to add
- wwiv to the forums line in your waffle/system/static file for this to work).
- Most WWIV netsubs are identified by numbers. This number is called the subtype.
- The newsgroup name for your waffle system should be wwiv.<subtype>. It
- can be anything you want, actually, but wwiv.<subtype> is suggested, so
- as to eliminate loops and other Ugliness if you're sending the netsubs
- to other Usenet sites. Use the following waffle/system/wwiv file as a
- template for making your own. You may want to alias the wwiv.<subtype>
- name to something more indicative of the sub, as shown here. For instance,
- History and Moral Philosophy, subtype 19702, newsgroup wwiv.19702, is
- dedicated to discussion of the works of Robert A. Heinlein and the ideas
- presented therein. To keep people from having to remember the newsgroup name,
- it's been aliased to "heinlein". Typing "heinlein" at the main Waffle prompt
- will take you to the newsgroup.
-
- Newer releases of WWIV software also support named subtypes. WWCP 1.3
- *should* work with named subtypes as well. For a WWIV netsub named
- foobar, I suggest a newsgroup name of wwiv.foobar, but (as with the
- numbered subtypes) you're free to call it anything you want.
-
- # sample WWIV definition file
-
- # You need to change the below line to match your system.
-
- DEFAULT /dir="C:\WWIVGATE"
-
- DEFAULT /type=USENET /keep=100 /post=6
-
- wwiv.9702 /name="[Ye Olde Alaska Tavern %N]" /alias=alaska /sig=sig
- wwiv.19702 /name="[History and Moral Philosophy %N]" /alias=heinlein /sig=sig
- wwiv.29702 /name="[Memos from Purgatory %N]" /alias=memos /sig=sig
- wwiv.39702 /name="[907 Sysop's Sub %N]" /alias=sysop /sig=sig /post=9 /read=9
- wwiv.49702 /name="[Pagan Community %N]" /alias=bdinfo /sig=sig
- wwiv.59702 /name="[TDM's Corner Abortion Clinic %N]" /alias=abortion /sig=sig
- wwiv.19712 /name="[WWCP Support %N]" /alias=wwcp /sig
- # end of sample
-
-
- Some WWIV netsubs don't like signatures (which they call "taglines").
- If you're subscribing to one of these, don't use the /sig parameter.
-
- Now, make a file called NETSUBS in your system directory. This
- keeps track of the host system for each netsub. The format of the
- system/netsubs file is the netsub name, followed by a space, followed by
- the subtype, followed by a space, followed by the sub host's node number.
- For instance, Memos from Purgatory (a forum for demented writings) is hosted
- by Someplace Else, node number 9702. Memos has a subtype of 29702, so the
- line in your system/netsubs file would be:
-
- wwiv.29702 29702 9702
-
-
- A named subtype of FOOBAR, hosted by node 9653, might have a line in
- NETSUBS something like this:
-
- wwiv.foobar FOOBAR 9653
-
-
- A complete system/netsubs file corresponding to the above
- system/wwiv file might look like:
-
- wwiv.9702 9702 9702
- wwiv.19702 19702 9702
- wwiv.29702 29702 9702
- wwiv.39702 39702 9702
- wwiv.49702 49702 9702
- wwiv.59702 59702 9702
- wwiv.19712 19712 502
-
- Note that all the subs in this example are hosted by Someplace Else, node
- 9702, except for subtype 19712 which is hosted by 502.
-
- It is suggested that you do subscribe to subtype 19712, WWCP Support. Updates
- and other administrative bulldada will be announced there from time to time.
-
- Also existing is a mailing list for WWCP. Send mail to
- wwcp-request@fred.com for more information.
-
-
-
- FEEDING WWIV NETSUBS TO NEIGHBORING WAFFLE SITES
-
- This is easy. As far as Waffle knows, the WWIV netsubs are just
- ordinary newsgroups. Set up your system/feeds file to feed wwiv newsgroups
- just like any other newsgroup. wwiv.* will feed every wwiv group, wwiv.9702
- will only feed one, etc. Your neighbor should also set up his system/feeds
- file to feed the same groups back to you. Your neighbor will probably want
- to put wwiv in the forums line of his static file, and make a system/wwiv
- file like the one above. If he's carrying all of the same ones you do
- you can just send him a copy of your system/wwiv file (of course, he'll
- need to stick in the proper directory name for his system setup). The
- neighbor will *not* need a system/netsubs file, just the system/wwiv
- file. The neighbor will *not* need to subscribe to the netsub. To the
- WWIVnet, his site looks like part of your node. If you carry it, he
- can carry it without subscribing. Conversely, if he wants something you
- don't carry he'll either have to convince you to start carrying it or
- arrange his own WWIVnet connect. Don't forget to have the neighbor set up
- his paths file to route email correctly (see "Sending Mail to the
- WWIVnet from Neighboring Waffle Sites", above). Your neighbor doesn't
- need a copy of WWCP for this to work.
-
-
- HOSTING YOUR OWN WWIV NETSUBS
-
- Again, the process is fairly straightforward. First, pick a subtype
- that hasn't already been used. Traditionally, sub types are numbered
- starting with your node number, and going up by 10000 for each additional
- sub you host. If your node number is 549, the first sub you host gets
- subtype 549, the second 10549, the third 20549, and so on. Again,
- named subtypes should also work fine. Check the most recent subs.lst file
- to make sure that your subtype name or number hasn't already been used.
- Now, you need to make a *.sub file in your system/ directory, where * is
- the subtype of the sub you wish to host (subtype 10549 would use a
- 10549.sub file, subtype foobar would use a foobar.sub file, and so on).
- This file should contain a list, one per line, of all the subscribing node
- numbers. Do not include your own node number. Now, add a line to your
- system/netsubs file. The format is the same as shown in "Subscribing to
- WWIVnet Netsubs", above. The sub name, the subtype, and the host's node
- number (yours, in this case), all separated by one space. Suppose you want
- to start a netsub devoted to Hostess snack cakes. You find that subtype
- 10549 is available, and decide to use it. If your node number is 549, the
- line in your system/netsubs file would look like:
-
- wwiv.10549 10549 549
-
- You can also give the sub a different name if you wish. You could call
- it alt.religion.twinkies, say, and use the line:
-
- alt.religion.twinkies 10549 549
-
- in the netsubs file. This technique will also work for feeding normal
- Usenet newsgroups into the WWIVnet. If you wanted to feed in comp.lang.c
- with a subtype of C549, you'd use the line:
-
- comp.lang.c C549 549
-
- in the system/netsubs file, again assuming that your node number is 549.
- Remember to alter your system/feeds file to feed the new newsgroup to
- wwiv. You could feed all wwiv.* groups, alt.religion.twinkies, and
- comp.lang.c by using something like:
-
- wwiv /batch=wwiv wwiv.* alt.religion.twinkies comp.lang.c
-
- in the system/feeds file. You'll also need to add the group to your
- system/wwiv if it's a new group for you (you won't need to do this
- if it's a Usenet group you're already carrying, because it's already
- in the system/usenet file). That's it! Everything else is fully automatic.
-
- Special note for moderated newsgroups:
-
- A good smarthost will automatically mail posts to a moderated group
- to the moderator instead of posting them to the net. However, some
- smarthosts are smarter than others. If you are going to be gating a
- moderated newsgroup, you need to use a /mod= flag in the system/netsubs
- entry for that group. This should be the last thing on the line, after
- the group name, the subtype, and the host (which will be you, if you're
- doing the gating). Example: you're gating comp.lang.obscene, a moderated
- group. The moderator is wirth@pascal.com. Your node number is 599. You decide
- to use a subtype of 10599. The system/netsubs entry would look like:
-
- comp.lang.obscene 10599 599 /mod=wirth@pascal.com
-
- This is a NEW FEATURE and has not been extensively tested. You are STRONGLY
- encouraged to test this out on a small scale before relying on it to work
- in all cases (that is, if you start gating a moderated newsgroup to 500
- WWIV nodes and it screws up, don't forward the flames to me. :-). I'd
- suggest gating it to, at most, one WWIV node to start with and observe the
- result. If you experience problems, please contact the author.
-
-
- MAINTENANCE
-
-
- Since every message passed to WWIVnet from Usenet/Internet results in
- the author of the message being assigned a WWIV user number, the
- user database can grow very large after a while. This version of
- WWCP includes a program called WWPURGE. WWPURGE allows you to
- delete any records that have 1) never been used for mail and
- 2) haven't been used at all for a specified period of time.
- For safety's sake, accounts that *have* been used for mail
- are not deleted. The only ones that are marked deleted are
- the ones that have only been used for public messages. WWPURGE
- allows you to specify the number of days of inactivity before
- records are purged. It's recommended that you run WWPURGE
- periodically to clean out any stale records that might be
- hanging around.
-
-
-
- TECHNOGEEKOID ZONE
-
-
- This section of the documentation is aimed at the technically
- inclined Waffle sysop (is there any other kind?). There are three
- major executables in the WWCP program suite, wwsmail, wwcico, and
- wwrmail. wwsmail batches up the messages in WWIV format and creates the
- outgoing packet. If a packet already exists, the new messages are
- appended to it. Thus, there's no problem with running wwsmail multiple
- times before making a connection. This packet is placed in the wwiv/packets
- subdirectory of your spool directory, and is named SXXXX.NET, where
- XXXX is the node number of your WWIV connect. wwsmail exits with a
- status of zero if there is a data packet ready to send, non-zero
- otherwise. A zero-length packet is counted as no packet. The program
- also exits with status zero if there is a packet from previous invocations,
- even if no new data has been added. You can use the exit status in a
- batch file to carry out an operation based on whether or not a packet
- is ready to send (for instance, make wwpoll not bother to call out if
- there's no packet. The supplied wwpoll.bat works this way).
-
- WWSMAIL also exits with status zero if there is a file named MAKECALL.DAT
- in the spool/wwiv/packets directory, even if there is no packet to send.
- This allows you to force a callout by setting up cron to create a
- MAKECALL.DAT file periodically (the contents of this file are not
- relevant.... only its existence or lack of same is important) or even
- creating one manually. WWCICO deletes any MAKECALL.DAT when it makes a
- successful connect.
-
- For instance, you could use a batch file similar to
-
- echo foo >\spool\wwiv\packets\makecall.dat
-
- and have cron run it at the time you want to force the call out (say,
- after 9:00 PM for low phone rates). Then you could have cron run
- wwpoll every half hour. wwpoll will keep trying regardless of whether
- there is data to send, until at least one connect has been made. At that
- point, the MAKECALL.DAT file will be deleted and wwpoll will resume the
- default behavior of not calling unless there is actually data to send.
-
-
- wwcico is the uucico analogue. It handles the modem i/o and
- calls the external file transfer protocol as needed. wwcico has two
- command line switches. The -d switch puts wwcico in dialout mode and
- calls the WWIV board. The -r switch puts wwcico in dialin mode, and is
- used when the WWIV board is calling you. These options are similar
- to the ones for uucico. wwcico exits with status zero if a packet
- has been received from the WWIV board, 1 if there is no connect,
- an error occurs, or the operator aborts, and 2 if a connect has been
- made but there was no packet to send on the remote node. The incoming
- packet is stored with a file name of SXXXX.NET, where XXXX is your WWIV
- node number. Incoming packets *must* be processed before the next
- invocation of wwcico, because the next incoming packet will have the
- same name. The external protocol will either refuse to overwrite
- the old packet, or will overwrite it, depending. Either situation
- is bad. If the protocol refuses to overwrite, message traffic will be
- delayed until the next call (or even later, if the old packet still
- hasn't been processed). If the protocol overwrites, messages will be lost.
- You should always call wwrmail whenever wwcico exits with a status of zero
- (i.e., when an incoming packet has been received). If data has been
- transferred successfully, information will be written to a log file called
- WWCP in your /admin directory. This file can be viewed with SHOW WWCP in the
- usual way. If you have trouble, wwcico can be made to produce debugging
- information by using -dx or -rx instead of the normal -d and -r.
- This information is also written to admin/wwcp.
-
-
- wwrmail is the program that reads the incoming WWIV packet and
- processes the messages into RFC822/1036 compliant form. After processing
- each, wwrmail calls rmail for mail messages, and adds news messages to
- a batch. If any news was received, wwrmail calls rnews before exiting.
- WWIVnet produces special control messages from time to time. In particular,
- net updates are sent out twice a week. These updates (analogous to uucp
- maps) aren't needed by WWCP and are thrown away. If you see a message being
- dumped as "WWIVnet control message or other unknown type" or
- "Compressed/encrypted message" it's most likely a net update. Don't worry
- about it.
-
-
- WWCP uses a special database to handle replies to user numbers.
- This database is created and updated automatically, and is found in the
- system/wwalpha, system/wwnum, and system/wwdel files. The wwnum file
- contains records in usernumber order, while the wwalpha file contains
- pointers to user records stored in alphabetical order. The wwdel file
- contains pointers to user records that have been marked deleted, so
- they can be reused. You should back up these files periodically, because
- strange behavior can result if they get corrupted. For those interested,
- the wwnum file is a binary file, and the the record structure is:
-
- struct user {
- char address[120];
- int usernumber;
- char used_for_mail; /*
- * 1 if account used for email, 0
- * if not.
- */
- char deleted; /* Used to mark deleted accounts */
- time_t last_used; /* last time account was used */
- long credit; /* For payment, etc. */
- char reserved[20]; /* reserved for future expansion */
- char userdef[20]; /* For user-defined info */
-
- };
-
- The wwalpha files and wwdel files contain records consisting of 16 bit
- integers. To get the actual offset in the wwnum file, multiply
- the number from wwalpha or wwdel by sizeof(struct user).
-
- Possibly the database files could be used for other purposes, with
- sufficient ingenuity on your part. The 1.3 record structure has
- 20 bytes reserved for user defined information. Feel free to use
- it as you will. All WWCP utilities preserve the contents of the
- userdef array, and userdef is guaranteed to be set to all
- zeros ('\0' characters) when a new record is created.
-
-
-